package com.facade;

import java.io.Serializable;
import java.util.List;

import com.dao.TelefoneDoAssociadoDAO;
import com.model.TelefoneDoAssociado;

public class TelefoneDoAssociadoFacade implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private TelefoneDoAssociadoDAO telefoneDoAssociadoDAO = new TelefoneDoAssociadoDAO();

	public void createTelefoneDoAssociado(TelefoneDoAssociado telefoneDoAssociado) {
		telefoneDoAssociadoDAO.beginTransaction();
		telefoneDoAssociadoDAO.save(telefoneDoAssociado);
		telefoneDoAssociadoDAO.commitAndCloseTransaction();
	}

	public void updateTelefoneDoAssociado(TelefoneDoAssociado telefoneDoAssociado) {
		telefoneDoAssociadoDAO.beginTransaction();
		telefoneDoAssociadoDAO.update(telefoneDoAssociado);
		telefoneDoAssociadoDAO.commitAndCloseTransaction();
	}

	public TelefoneDoAssociado findTelefoneDoAssociado(int telefoneDoAssociadoId) {
		telefoneDoAssociadoDAO.beginTransaction();
		TelefoneDoAssociado telefoneDoAssociado = telefoneDoAssociadoDAO.find(telefoneDoAssociadoId);
		telefoneDoAssociadoDAO.closeTransaction();
		return telefoneDoAssociado;
	}

	public List<TelefoneDoAssociado> listAll() {
		telefoneDoAssociadoDAO.beginTransaction();
		List<TelefoneDoAssociado> result = telefoneDoAssociadoDAO.findAll();
		telefoneDoAssociadoDAO.closeTransaction();
		return result;
	}

	public void deleteTelefoneDoAssociado(TelefoneDoAssociado telefoneDoAssociado) {
		telefoneDoAssociadoDAO.beginTransaction();
		TelefoneDoAssociado persistedTelefoneDoAssociado = telefoneDoAssociadoDAO.findReferenceOnly(telefoneDoAssociado.getId());
		telefoneDoAssociadoDAO.delete(persistedTelefoneDoAssociado);
		telefoneDoAssociadoDAO.commitAndCloseTransaction();
	}
}